Methods for attitude and heading reference system to mitigate vehicle acceleration effects

ABSTRACT

An attitude and heading reference system (AHRS) for a vehicle is provided along with methods for mitigating vehicle acceleration effects in the AHRS. The AHRS comprises an inertial measurement unit configured to generate inertial measurements from at least one accelerometer and at least one gyroscope, a heading source configured to generate heading measurements, and an adaptive statistical filter configured to mitigate the impact of vehicle acceleration effects on attitude and heading.

This invention was made with Government support under GovernmentContract Number 2014TA0303067 awarded by the Technological Agency of theCzech Republic. The Government has certain rights in the invention.

BACKGROUND

The attitude and heading reference system (AHRS) used in aircraftvehicles is typically based on a complementary filtering algorithm. TheAHRS typically uses Gravity vector matching to estimate the attitude ofthe aircraft. However, unless aided by other systems, such as air-datasystems or the global positioning system (GPS), current AHRSimplementations are not able to efficiently compensate for vehicleacceleration, which acts as a parasite value in a specific forcemeasurement.

SUMMARY

An attitude and heading reference system (AHRS) for a vehicle isprovided along with methods for mitigating vehicle acceleration effectsin the AHRS. The AHRS comprises an inertial measurement unit configuredto generate inertial measurements from at least one accelerometer and atleast one gyroscope, a heading source configured to generate headingmeasurements, and an adaptive statistical filter configured to mitigatethe impact of vehicle acceleration effects on attitude and heading.

DESCRIPTION OF THE DRAWINGS

Features of the present invention will become apparent to those skilledin the art from the following description with reference to thedrawings. Understanding that the drawings depict only typicalembodiments and are not therefore to be considered limiting in scope,the invention will be described with additional specificity and detailthrough the use of the accompanying drawings, in which:

FIG. 1 is a block diagram of the software architecture for a pureinertial AHRS, according to an exemplary embodiment;

FIG. 2 is a flow diagram for a vehicle acceleration upper boundarycomputation method, according to a first method;

FIG. 3 is a flow diagram for a vehicle acceleration upper boundarycomputation method, according to a second method; and

FIG. 4 is a flow diagram for a method of operating a pure inertial AHRSwith a vehicle acceleration mitigation algorithm, according to oneembodiment.

DETAILED DESCRIPTION

In the following detailed description, embodiments are described insufficient detail to enable those skilled in the art to practice theinvention. It is to be understood that other embodiments may be utilizedwithout departing from the scope of the invention. The followingdetailed description is, therefore, not to be taken in a limiting sense.

Methods for mitigating vehicle acceleration effects in an attitude andheading reference system (AHRS) for a vehicle are described herein. Aproper modeling of vehicle acceleration is needed to achieve areasonable accuracy for the AHRS. An adaptive statistical filteringtechnique, such as an extended Kalman filter (EKF), comprises analgorithm that provides a probabilistic description of estimatedquantities, and is used to estimate the vehicle acceleration, where aproper vehicle acceleration model is to be defined. Due to differentdynamic conditions a suitable unified vehicle acceleration model is hardto identify. Thus, an adaptive method is deployed instead to properlydeal with an instant vehicle dynamics.

An algorithmic method to model the underlying aircraft vehicleacceleration as an error source is provided. Two embodiments of adaptinga vehicle acceleration model are described herein to mitigate theparasite influence of vehicle acceleration. The present methods adapt avehicle acceleration model based on measured and estimated variables.These techniques significantly increase a reachable accuracy,effectively remove the common mode failure of complementary filter basedAHRS in dynamic conditions, and are able to provide statistics of theestimation errors.

In addition to AHRS, the present methods can be applied to Air Dataaided (AD) AHRS, GPS-aided AHRS, and the like.

Further details of the present methods are described hereafter in thefollowing sections and with reference to the drawings.

Sensor Errors

The AHRS obtains inertial data from an inertial measurement unit (IMU),which generally includes a three-axis gyroscope and a three-axisaccelerometer. Properties of the gyroscope and accelerometer sensorerrors can be predicted based on sensor models.

A gyroscope sensor model can be defined by the following equation:{tilde over (ω)}_(IB) ^(B)=ω_(IB) ^(B)+(b _(gyrB,const) ^(B) +b_(gyrB,dyn) ^(B))+w _(gyr) ^(B) w _(gyr) ^(B) ˜N(0, σ_(gyr) ²)  (1)where {tilde over (ω)}_(IB) ^(B) is the measured quantity of the angularrate of body frame with respect to inertial frame expressed in the bodyframe outputted by the gyroscope; ω_(IB) ^(B) is the true angular rate;b_(gyrB,const) ^(B) is the gyroscope constant bias in the body frame;b_(gyrB,dyn) ^(B) is the gyroscope dynamic bias in the body frame;w_(gyr) ^(B) is the gyroscope white noise in the body frame; and N(0,σ_(gyr) ²) is the normal (Gaussian) distribution with zero mean andvariance equal to σ_(gyr) ².

The total gyroscope bias in the body frame (b_(gyrB) ^(B)) correspondsto the sum of the gyroscope constant and dynamic bias (b_(gyrB,const)^(B)+b_(gyrB,dyn) ^(B)), and (within an error state EKF implementationscheme) can be modeled such as first-order Gauss-Markov (GM) processusing the following equation:

$\begin{matrix}{{{\delta\;{\overset{.}{b}}_{{gyr}\; B}^{B}} = {{{- \frac{1}{\tau_{gyr}}}\delta\; b_{{gyr}\; B}^{B}} + w_{GMgyrB}^{B}}}{w_{GMgyrB}^{B} \sim {N( {0,\sigma_{GMgyrB}^{2}} )}}} & (2)\end{matrix}$where δ{dot over (b)}_(gyrB) ^(B) is the time derivative of the error ofthe estimate of the gyroscope bias, τ_(gyr) is the time constant of theGM process used to model the gyroscope bias, w_(GMgyrB) ^(B) is thegyroscope bias estimation error.

An accelerometer sensor model can be defined by the following equation:{tilde over (f)} ^(B) =a ^(B) −g ^(B)+(b _(accB,const) ^(B) +b_(accB,dyn) ^(B))+w _(acc) ^(B) w _(acc) ^(B) ˜N(0, σ_(acc) ²)  (3)where {tilde over (f)}^(B) is the measured quantity of the specificforce in the body frame outputted by the accelerometer; a^(B) is thetrue body frame (vehicle) acceleration; g^(B) is the gravity fieldvector in the body frame; b_(accB,const) ^(B) is the accelerometerconstant bias in the body frame; b_(accB,dyn) ^(B) is the accelerometerdynamic bias in the body frame; and w_(acc) ^(B) is the accelerometerwhite noise in the body frame. The total accelerometer bias in the bodyframe (b_(accB) ^(B)) corresponds to the sum of the accelerometerconstant and dynamic bias (b_(accB,const) ^(B)+b_(accB,dyn) ^(B)), and(within an error state EKF implementation scheme) can be modeled such asGM process using the following equation:

$\begin{matrix}{{{\delta\;{\overset{.}{b}}_{accB}^{B}} = {{{- \frac{1}{\tau_{acc}}}\delta\; b_{accB}^{B}} + w_{GMaccB}^{B}}}{ w_{GMaccB}^{B} \sim{N( {0,\sigma_{GMaccB}^{2}} )}}} & (4)\end{matrix}$where δ{dot over (b)}_(accB) ^(B) is the time derivative of the error ofthe estimate of the accelerometer bias, τ_(acc) is the time constant ofthe GM process used to model the accelerometer bias, w_(GMaccB) ^(B) isthe driving noise of the GM process used to model the accelerometerbias, and δb_(accB) ^(B) is the accelerometer bias estimation error.

The AHRS obtains or calculates heading data from a sensor such asmagnetometer. While a magnetometer sensor model can be used to predictmagnetometer sensor errors properties, assumes to be calibrated such themodel can be replaced by simplified heading aiding based on thefollowing equations:δ{tilde over (ψ)}=(−tan θ cos ω)ε^(Nx)+(−tan θ sin ψ)ε^(Ny)−ε^(Nz) −w_(ψ) ^(N) w _(ψ) ^(N) ˜N(0, σ_(ψ) ²)  (5)where δ{tilde over (ψ)} is heading measurement residual (constructed asa difference between estimated and measured heading), ε^(N) is theattitude error resolved in the navigation frame, and w_(ψ) ^(N) is awhite noise of heading aiding. Heading aiding can be taken from anyheading source.Earth and Transport Rates

The AHRS takes into account earth and transport rates (ETR) in producingattitude and heading data. The ETR is expressed in the navigation frameand can be modeled by a single GM process, with parameters of the GMprocess being estimated via a stochastic analysis.

The physical relationship of ETR is expressed by the followingequations:ψ_(NB) ^(B)=ω_(IB) ^(B)−ω_(IN) ^(B)  (6)ω_(IN) ^(B)=ω_(IE) ^(B)+ω_(EN) ^(B)  (7)where ω_(NB) ^(B) is the angular rate of the body frame with respect tonavigation frame expressed in body frame, ω_(IN) ^(B) is the angularrate of the navigation frame with respect to the inertial frameexpressed in body frame, ω_(IE) ^(B) is the earth rate expressed in bodyframe, and ω_(EN) ^(B) is the transport rate expressed in body frame.

The ETR, ω_(GM,IN) ^(N), can be modeled such as a single GM processusing the following equation:

$\begin{matrix}{{{\delta\;{\overset{.}{\omega}}_{{GM},{IN}}^{N}} = {{{- \frac{1}{\tau_{{GM},{IN}}}}\delta\;\omega_{{GM},{IN}}^{N}} + w_{{GM},{IN}}^{N}}}{ w_{{GM},{IN}}^{N} \sim{N( {0,\sigma_{{GM},{IN}}^{2}} )}}} & (8)\end{matrix}$where δ{dot over (ω)}_(GM,IN) ^(N) is the time derivative of the errorof the estimate of the ETR GM process, τ_(GM,IN) is the time constant ofthe GM process used to model the ETR, w_(GM,IN) ^(N) is the drivingnoise of the GM process, and δω_(GM,IN) ^(N) is the earth and transportrates estimate error.Vehicle Acceleration

The AHRS also takes into account vehicle acceleration in producingattitude and heading data. The physical relationship of the vehicleacceleration can be according to (3) expressed as follows:{tilde over (f)} ^(B) =f ^(B) +b _(accB) ^(B) +w _(acc) ^(B) =a ^(B) −C_(N) ^(B) g ^(N) +b _(accB) ^(B) +w _(acc) ^(B)  (9)where {tilde over (f)}^(B) is the measured quantity of specific force(accelerometer output), f^(B) is the true specific force, b_(accB) ^(B)is the true total accelerometer bias in the body frame, w_(acc) ^(B) isthe accelerometer white noise in the body frame, a^(B) is the truevehicle acceleration, C_(N) ^(B) is the true direction cosine matrixperforming the transformation of a vector coordinated in the navigationframe to the body frame, and g^(N) is the true Gravity field vector innavigation frame. The vehicle acceleration, which is significant sourceof attitude error if unknown and not accounted for, can be (within anerror state EKF implementation scheme) modeled such as GM process usingthe following equation:

$\begin{matrix}{{{\delta\;{\overset{.}{a}}^{B}} = {{{- \frac{1}{\tau_{acceleration}}}\delta\; a^{B}} + w_{GMacceleration}^{B}}}{ w_{GMacceleration}^{B} \sim{N( {0,\sigma_{GMacceleration}^{2}} )}}} & (10)\end{matrix}$where δ{dot over (a)}^(B) is time derivative of the error of theestimate of the GM process used to model the (so-called external)vehicle acceleration, τ_(acceleration) is the time constant of the GMprocess, δa^(B) is error estimate of the vehicle acceleration, andw_(GMacceleration) ^(B) is driving noise of the GM process.The presented approach provides a way to quantify steady-state standarddeviation (STD) of the vehicle acceleration GM process(σ_(steadyState,GMacceleration))and to make it proportional to thevehicle acceleration:σ_(steadyState,GMacceleration) ²=σ² _(steadyState,acceleration)+α²  (11)with a lower boundary defined as:σ_(steadyState,GMacceleration) ²=func₁(σ_(steadyState,accelerometer)²)  (12)and an upper boundary defined as:σ_(steadyState,GMacceleration) ²=func₂(a ^(B))  (13)The lower boundary is due to accelerometer bias, and is used to set-up asteady-state STD minimum value. Overbounding is used to compensate fordifferent dynamics of vehicle acceleration and accelerometer bias. Asolution is provided by using an overbounding factor, η, as follows:ησ_(steadyState,accelerometer) ². The upper boundary is due to vehicleacceleration, and is employed to avoid using an estimated accelerationto define the property of its own model (GM process), as well as to copewith a lack of information about the source axis of the vehicleacceleration. A solution is provided by using a norm of the “synthetic”vehicle acceleration, which is a combination of the measured andestimated quantities and is defined as follows:α=∥{tilde over (â)} ^(B) ∥=∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N)−{circumflex over (b)} _(accB) ^(B)∥  (14)where upper script {circumflex over (•)} represents estimatedparameters.Use of the lower and upper boundaries results in the followingrelationship:σ_(steadyState,GMacceleration)²=(ησ_(steadyState,accelerometer))²+α²  (15)An upper boundary error analysis can be performed based on the followingequation:α=func(a ^(B))=∥{tilde over (â)} ^(B) ∥=∥{tilde over (f)} ^(B) +Ĉ _(N)^(B) ĝ ^(N) −{circumflex over (b)} _(accB) ^(B)∥==∥a ^(B) +C _(N) ^(B)[ε_(N) ×]g ^(N) −δb _(accB) ^(B) +w _(acc) ^(B) +Ĉ_(N) ^(B) w _(grav) ^(N)∥  (16)The terms δb_(accB) ^(B), w_(acc) ^(B), Ĉ_(N) ^(B)w_(grav) ^(N) inequation (16) are assumed to have a negligible effect on the resultingacceleration estimate.

In a first technique, a first upper boundary computation algorithmcomputes the norm of the corresponding vector sum, and employs theoverbounding factor, η, as indicated in the following equations:α=∥

^(B) ∥≈∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N) −{circumflex over (b)}_(accB) ^(B)∥  (17)σ_(steadyState,GMacceleration)²=(ησ_(Stationary,accelerometer))²+α²  (18)The first technique has the advantage of being a straightforwardcomputation, with almost no computational overhead, and provides aconservative approach in most situations. This technique is based on thenorm of the acceleration and affects all axes regardless of the sourceaxis of the acceleration. The minimum value of the steady-state STD isgoverned by the overbounding factor, η. The first technique is describedin further detail hereafter.

In a second technique, a second upper boundary computation algorithmcomputes the norm of the corresponding vector sum, and performscomputations based on the attitude error scanning based on the followingequations:α=max_(i) {∥{tilde over (f)} ^(B) +{Ĉ _(N) ^(B)(i)}ĝ ^(N) −{circumflexover (b)} _(accB) ^(B) ∥; Ĉ _(N) ^(B)(i)=f({circumflex over (Φ)}_(j),{circumflex over (θ)}_(k))}  (19){circumflex over (Φ)}_(j)ε[−Δσ_({circumflex over (Φ)})+{circumflex over(Φ)}; {circumflex over (Φ)}+≢σ_({circumflex over (Φ)})];Δσ_({circumflex over (Φ)}) =Nσ _({circumflex over (Φ)})  (20){circumflex over (θ)}_(k)ε[−Δσ_({circumflex over (θ)})+{circumflex over(θ)}; {circumflex over (θ)}+Δσ_({circumflex over (θ)})];Δσ_({circumflex over (θ)}) =Nσ _({circumflex over (θ)})  (21)σ_(steadyState,GMacceleration) ²=α²  (22)where {tilde over (f)}^(B) is a measured specific force in the bodyframe, {circumflex over (b)}_(accB) ^(B) is the estimated accelerometerbias, Ĉ_(N) ^(B)ĝ^(N) represents the estimated gravity vector in thebody frame, {circumflex over (Φ)}_(j) is the estimated roll angle,{circumflex over (θ)}_(k) is the estimated pitch angle,σ_({circumflex over (Φ)}) is the standard deviation of the estimatedroll angle, and σ_({circumflex over (θ)}) is the standard deviation ofthe estimated pitch angle. The standard deviations of the roll angle andpitch angle estimates are provided by the extended Kalman filter. Itshould be noted thatΔσ_({circumflex over (Φ)})=Nσ_({circumflex over (Φ)}) andΔσ_({circumflex over (θ)})=Nσ_({circumflex over (θ)}), where Nrepresents a scale factor which governs the size of the interval inorder to perform more conservative (large N) or less conservative (smallN) attitude error scanning. The second technique provides a conservativeapproach as compared to the first technique, and is based on the maximumof the norm of the acceleration. The method affects all axes regardlessof the source axis of the acceleration, and solves the situation wherethe acceleration model does not overbound the true instantaneousacceleration. The second technique is described in further detailhereafter.

FIG. 1 is a block diagram of the software architecture for a pureinertial AHRS 100, according to one embodiment. The AHRS 100 obtainsinertial data from an inertial measurement unit (IMU) 110, which caninclude a 3-axis gyroscope 112 and a 3-axis accelerometer 114. Inaddition AHRS 100 obtains heading data from a heading source unit 116,such as a magnetometer. The AHRS 100 generally includes variousfunctional modules as described hereafter.

A measured quantity of specific force ({tilde over (f)}^(B)) output fromaccelerometer 114 is sent to a mixer 118, which also receives anestimated accelerometer bias signal ({circumflex over (b)}_(accB) ^(B))output from an accelerometer bias accumulator 120. An output signal({tilde over (f)}^(B)−{circumflex over (b)}_(accB) ^(B)) from mixer 118is sent to a mixer 122, which also receives an estimated gravity vectorsignal expressed in body frame (Ĉ_(N) ^(B)ĝ^(N)) output from a gravityvector block 124.

A vehicle acceleration upper boundary computation module 125 receivesthe output signal from mixer 122. The vehicle acceleration upperboundary computation module 125 includes algorithms that providemitigation for vehicle acceleration, and are described in further detailhereafter. The vehicle acceleration upper boundary computation module125 generates power spectral density (PSD) data of the GM process(Σ_(GMacceleration) ²) that is sent to an error-state EKF 126 forfurther processing.

A vehicle acceleration accumulator 127 outputs an estimated vehicleacceleration signal (â^(B)) to a mixer 128, which also receives theestimated accelerometer bias signal ({circumflex over (b)}_(accB) ^(B))from accelerometer bias accumulator 120. The estimated accelerometerbias is summed with the estimated vehicle acceleration in mixer 128,which outputs this sum (â^(B)+{circumflex over (b)}_(accB) ^(B)) to amixer 129, which also receives the measured quantity of specific forceoutput from accelerometer 114. The mixer 129 subtracts the measuredquantity of specific force from the sum output by mixer 128, and outputsthe result (â^(B)+{circumflex over (b)}_(accB) ^(B)−{tilde over(f)}^(B)), which is in the body frame, to a transformation block 130.The transformation block 130 also receives an estimated direction cosinematrix (Ĉ_(N) ^(B)) signal output from an attitude and headingintegration module 144, which is described further hereafter.

In transformation block 130, an estimated direction cosine matrix (Ĉ_(B)^(N)) is created as a transposition of the Ĉ_(N) ^(B) matrix (i.e.,Ĉ_(B) ^(N)=(Ĉ_(N) ^(B))^(T)). The result from mixer 129 is transformedby multiplying with the estimated direction cosine matrix Ĉ_(B) ^(N),which performs the transformation from the body frame to the navigationframe. An output signal (Ĉ_(B) ^(N)(â^(B)+{circumflex over (b)}_(accB)^(B)−{tilde over (f)}^(B))) from transformation block 130 is sent to amixer 131, which also receives an estimated gravity vector in thenavigation frame (ĝ^(N)) from gravity vector block 124. The estimatedgravity vector is subtracted in mixer 131, resulting in specific forcemeasurement residuals in the navigation frame (δ{tilde over (f)}^(N)),which are sent to the error-state EKF 126 for further processing.

A measured quantity of the angular rate ({tilde over (ω)}_(IB) ^(B))output from gyroscope 112 is sent to a mixer 134, which also receives agyroscope bias signal ({circumflex over (b)}_(gyrB) ^(B)) output from agyroscope bias accumulator 136. An output signal from mixer 134 is sentto a mixer 138, which also receives an estimated ETR signal ({circumflexover (ω)}_(IN) ^(B)) output from a transformation block 140, where{circumflex over (ω)}_(IN) ^(B)=Ĉ_(N) ^(B){circumflex over (ω)}_(IN)^(N). An Earth and Transport Rates accumulator 142 sends an outputsignal to transformation block 140.

A measured heading ({tilde over (ψ)}) output from heading unit 116 issent to a mixer 146, which also receives an estimated heading({circumflex over (ψ)}) from attitude and heading integration module144. In mixer 146, the estimated heading is subtracted from the measuredheading, resulting in heading measurement residuals (δ{tilde over (ψ)}),which are sent to the error-state EKF 126 for further processing.

The error-state EKF 126 generates and outputs various estimation errorsignals, including an estimated vehicle acceleration error signal(6a^(B)) that is sent to the vehicle acceleration accumulator 127; anestimated accelerometer bias error signal (δb_(accB) ^(B)) that is sentto the accelerometer bias accumulator 120; a gyroscope bias errorssignal (δb_(gyrB) ^(B)) that is sent to the gyroscope bias accumulator136; an ETR errors signal (δω_(GM,IN) ^(N)) that is sent to the ETRaccumulator 142; and an attitude errors signal (ε^(N)) that is sent tothe attitude and heading integration module 144.

The attitude and heading integration module 144 receives an outputsignal from mixer 138 and performs direction cosine matrix-based orquaternion-based integration. The attitude and heading integrationmodule 144 receives also the attitude errors signal (ε^(N)) from theerror-state EKF 126 to correct the direction cosine matrix. The attitudeand heading integration module 144 sends the estimated direction cosinematrix (Ĉ_(B) ^(N)) to transformation blocks 130 and 140 and to gravityvector block 124. The attitude and heading integration module 144 isconfigured to generate attitude and heading outputs 150 that are used bya vehicle navigation system.

FIG. 2 is a flow diagram for a vehicle acceleration adaptation algorithmaccording to a first embodiment, which can be employed by vehicleacceleration upper boundary computation module 125. At a time forfiltration 210, algorithm 200 computes the upper boundary (alpha, α)based on the “synthetic acceleration” (

^(B)) (block 220) using equation (17).

The algorithm 200 then computes the steady-state STD of the vehicleacceleration GM process (block 230) using equation (18).

The algorithm 200 next computes PSD of the vehicle acceleration GMprocess driving noise (block 240) using the equation:

$\begin{matrix}{\overset{2}{\sum\limits_{GMacceleration}}{= {2\frac{\sigma_{{steadyState} \cdot {GMacceleration}}^{2}}{\tau_{acceleration}}}}} & (23)\end{matrix}$where Σ_(GMacceleration) ² represents adapted quantity of PSD and isused for construction of process noise covariance matrix. Thereafter, anerror-state EKF step is performed at 260.

FIG. 3 is a flow diagram for a vehicle acceleration adaptation algorithm300 according to a second embodiment, which can be employed by vehicleacceleration upper boundary computation module 125. At a time forfiltration 310, algorithm 300 computes the upper boundary (alpha) basedon the “synthetic acceleration” (block 320) using the equations (19),(20), (21) and (22).

The algorithm 300 then computes the steady-state STD of the vehicleacceleration GM process (block 330) using equation (18).

The algorithm 300 next computes the vehicle acceleration GM processdriving noise PSD (block 340) using equation (23), whereΣ_(GMacceleration) ² represents adapted quantity of PSD and is used forconstruction of a process noise covariance matrix. Thereafter, anextended Kalman filter (EKF) step is performed at 360.

An exemplary process model that can be employed in algorithm 400 isdefined by the following equations:

$\begin{matrix}{\begin{bmatrix}{\overset{.}{ɛ}}^{N} \\{\delta\;{\overset{.}{b}}_{gyrB}^{B}} \\{\delta\;{\overset{.}{a}}^{B}} \\{\delta\;{\overset{.}{\omega}}_{{GM},{IN}}^{N}} \\{\delta\;{\overset{.}{b}}_{accB}^{B}}\end{bmatrix} = {\quad{\lbrack \begin{matrix}{- \lbrack {{\hat{\omega}}_{IN}^{N} \times} \rbrack} & {+ {\hat{C}}_{B}^{N}} & 0_{3 \times 3} & I_{3} & 0_{3 \times 3} \\0_{3 \times 3} & {{- 1}/\tau_{gyr}} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & {{- 1}/\tau_{acceleration}} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & {{- 1}/\tau_{{GM},{IN}}} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & {{- 1}/\tau_{acc}}\end{matrix} \rbrack{\quad{\lbrack \begin{matrix}ɛ^{N} \\{\delta\; b_{gyrB}^{B}} \\{\delta\; a^{B}} \\{\delta\;\omega_{{GM},{IN}}^{N}} \\{\delta\; b_{accB}^{B}}\end{matrix} \rbrack + {\lbrack \begin{matrix}I_{3} & {- {\hat{C}}_{B}^{N}} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & I_{3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & I_{3} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & I_{3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & I_{3}\end{matrix} \rbrack{\quad\lbrack \begin{matrix}w_{IN}^{N} \\w_{gyr}^{B} \\w_{GMgyrB}^{B} \\w_{GMacceleration}^{B} \\w_{{GM},{IN}}^{N} \\w_{GMacc}^{B}\end{matrix} \rbrack}}}}}}} & (24)\end{matrix}$where process noise covariance matrix (Q) is defined by:

$\begin{matrix}{Q = \begin{bmatrix}{\sigma_{IN}^{2} + {{\hat{C}}_{B}^{N}\sigma_{gyr}^{2}{\hat{C}}_{N}^{B}}} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & \overset{2}{\sum\limits_{GMgyrB}} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & \overset{2}{\sum\limits_{GMacceleration}} & 0_{3 \times 3} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & \overset{2}{\sum\limits_{{GM},{IN}}} & 0_{3 \times 3} \\0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & 0_{3 \times 3} & \overset{2}{\sum\limits_{GMaccB}}\end{bmatrix}} & (25)\end{matrix}$where Σ² are the power spectral densities of respective parameters.

An exemplary measurement model that can be employed in algorithms 400 isdefined by the following equations:

$\begin{matrix}{\lbrack \begin{matrix}{\delta\;{\hat{f}}^{N}} \\{\delta\;\overset{\sim}{\psi}}\end{matrix} \rbrack = {{\begin{bmatrix}\lbrack {g^{N} \times} \rbrack & 0_{3 \times 3} & {\hat{C}}_{B}^{N} & 0_{1 \times 3} & {+ {\hat{C}}_{B}^{N}} \\{T( {3,:} )} & 0_{1 \times 3} & 0_{1 \times 3} & 0_{1 \times 3} & 0_{1 \times 3}\end{bmatrix}\lbrack \begin{matrix}ɛ^{N} \\{\delta\; b_{{gyr}\; B}^{B}} \\{\delta\; a^{B}} \\{\sigma\;\omega_{{GN},{IN}}^{N}} \\{\delta\; b_{accB}^{B}}\end{matrix} \rbrack} + {\quad{\lbrack \begin{matrix}{- {\hat{C}}_{B}^{N}} & {- I_{3}} & 0_{3 \times 3} \\0_{1 \times 3} & 0_{1 \times 3} & {- 1}\end{matrix} \rbrack\begin{bmatrix}w_{sf}^{B} \\w_{grav}^{N} \\w_{\psi}^{N}\end{bmatrix}}}}} & (26)\end{matrix}$where measurement covariance matrix

$\begin{matrix}{R = \begin{bmatrix}{{{\hat{C}}_{B}^{N}\sigma_{acc}^{2}{\hat{C}}_{N}^{B}} + \overset{2}{\sum\limits_{grav}}} & 0_{3 \times 1} \\0_{1 \times 3} & \sigma_{\psi}^{2}\end{bmatrix}} & (27)\end{matrix}$where ε^(N) is the attitude error vector, δb_(gyrB) ^(B) is thegyroscope bias error vector, δa^(B) is the vehicle acceleration errorvector, δω_(GM,IN) ^(N) is the earth and transport rate error vector,δb_(accB) ^(B) is the accelerometer bias error vector, δ{tilde over(f)}^(N) is the specific force error vector, δ{tilde over (ψ)} is theheading error, and T is the transformation matrix which transformsrotation vector to Euler angles and can be expressed as:

$\begin{matrix}{T = \begin{bmatrix}{- \frac{\cos\;\psi}{\cos\;\theta}} & {- \frac{\sin\;\psi}{\cos\;\theta}} & 0 \\{\sin\;\psi} & {{- \cos}\;\psi} & 0 \\{{- \tan}\;\theta\;\cos\;\psi} & {{- \tan}\;{\theta sin}\;\psi} & {- 1}\end{bmatrix}} & (28)\end{matrix}$

FIG. 4 is a flow diagram for a method 400 operating a pure inertial AHRSwith a vehicle acceleration mitigation algorithm, according to oneembodiment. The method 400 begins with obtaining sensor measurements(block 410) from an IMU. A determination is then made whetherinitialization/alignment has been performed (block 412). If not, method400 performs the initialization/alignment (block 414), and sensormeasurements are again obtained at block 410. When the determination ismade that the initialization/alignment has been performed at block 412,attitude correction and integration is performed (block 422). A vehicleacceleration adaptation algorithm is then performed (block 432), such asalgorithm 200 of FIG. 2, or algorithm 300 of FIG. 3.

As shown in FIG. 4, a process noise covariance matrix construction isthen performed (block 434), and the results are sent to the error-stateextended Kalman Filter (block 436) for processing. The method 400 thendetermines whether to exit (block 440). If the determination is made notto exit at block 440, then method 400 returns to block 410 to obtainadditional sensor measurements, and the above steps are repeated. Whenthe determination to exit is made at block 440, method 400 comes to anend.

A computer or processor used in the present system and method can beimplemented using software, firmware, hardware, or any appropriatecombination thereof, as known to one of skill in the art. These may besupplemented by, or incorporated in, specially-designedapplication-specific integrated circuits (ASICs) or field programmablegate arrays (FPGAs). The computer or processor can also includefunctions with software programs, firmware, or other computer readableinstructions for carrying out various process tasks, calculations, andcontrol functions used in the present method and system.

The present methods can be implemented by computer executableinstructions, such as program modules or components, which are executedby at least one processor. Generally, program modules include routines,programs, objects, data components, data structures, algorithms, and thelike, which perform particular tasks or implement particular abstractdata types.

Instructions for carrying out the various process tasks, calculations,and generation of other data used in the operation of the methodsdescribed herein can be implemented in software, firmware, or othercomputer- or processor-readable instructions. These instructions aretypically stored on any appropriate computer program product thatincludes a computer readable medium used for storage of computerreadable instructions or data structures. Such a computer readablemedium can be any available media that can be accessed by a generalpurpose or special purpose computer or processor, or any programmablelogic device.

Suitable processor-readable media may include storage or memory mediasuch as magnetic or optical media. For example, storage or memory mediamay include conventional hard disks, compact disks, DVDs, Blu-ray discs,or other optical storage disks; volatile or non-volatile media such asRandom Access Memory (RAM); Read Only Memory (ROM), ElectricallyErasable Programmable ROM (EEPROM), flash memory, and the like; or anyother media that can be used to carry or store desired program code inthe form of computer executable instructions or data structures.

Example Embodiments

Example 1 includes an attitude and heading reference system (AHRS) for avehicle, the AHRS comprising an inertial measurement unit (IMU)configured to generate inertial measurements from at least oneaccelerometer and at least one gyroscope; a heading source configured togenerate heading measurements; and an adaptive statistical filterconfigured to mitigate the impact of vehicle acceleration effects onattitude and heading.

Example 2 includes the AHRS of Example 1, wherein the adaptivestatistical filter is configured to estimate an attitude and heading ofthe vehicle; model and estimate deployed sensor errors and other sourcesof errors; and model, adapt, and estimate vehicle acceleration.

Example 3 includes the AHRS of Example 2, wherein the modeled vehicleacceleration is adapted based on measured variables and estimatedvariables using one or more adaptation algorithms.

Example 4 includes the AHRS of Example 3, wherein the one or moreadaptation algorithms are configured to detect vehicle acceleration;compute a synthetic acceleration; compute a vehicle acceleration upperboundary; and transform the vehicle acceleration upper boundary ontoparameters for the modeled vehicle acceleration.

Example 5 includes the AHRS of any of Examples 1-4, wherein the adaptivestatistical filter comprises an algorithm providing a probabilisticdescription of estimated quantities.

Example 6 includes the AHRS of any of Examples 1-4, wherein the adaptivestatistical filter comprises an extended Kalman filter.

Example 7 includes the AHRS of any of Examples 1-6, further comprisingan upper boundary computation module that includes a first vehicleacceleration adaptation algorithm configured to: provide a vehicleacceleration model based on measured variables and estimated variables;compute a vehicle acceleration upper boundary (α) based on a syntheticacceleration (

^(B)) as:α=∥

^(B) ∥=∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N) −{circumflex over (b)}_(accB) ^(B)∥where {tilde over (f)}^(B) is the measured specific force signal outputfrom the accelerometer, Ĉ_(N) ^(B)ĝ^(N) is the estimated gravity vectorsignal, and {circumflex over (b)}_(accB) ^(B) is the estimatedaccelerometer bias signal; compute a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGM process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; compute a power spectral density ofthe vehicle acceleration GM process driving noise as:

$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process; construct aprocess noise covariance matrix by use of the power spectral density;and send results of the process noise covariance matrix construction tothe adaptive statistical filter.

Example 8 includes the AHRS of any of Examples 1-6, further comprisingan upper boundary computation module that includes a second vehicleacceleration adaptation algorithm configured to: provide a vehicleacceleration model based on measured variables and estimated variables;compute a vehicle acceleration upper boundary (α) based on a syntheticacceleration (

^(B)) as:

$\alpha = {\max\limits_{i}\{ {{{{\overset{\sim}{f}}^{B} + {\{ {{\hat{C}}_{N}^{B}(i)} \}{\hat{g}}^{N}} - {\hat{b}}_{accB}^{B}}};{{{\hat{C}}_{N}^{B}(i)} = {f( {{\hat{\phi}}_{j},{\hat{\theta}}_{k}} )}}} \}}$ϕ̂_(j) ∈ [−Δ σ_(ϕ̂) + ϕ̂; ϕ̂ + Δσ_(ϕ̂)]; Δσ_(ϕ̂) = N σ_(ϕ̂)θ̂_(k) ∈ [−Δσ_(θ̂) + θ̂; θ̂ + Δσ_(θ̂)]; Δσ_(θ̂) = N σ_(θ̂)where {tilde over (f)}^(B) is a measured specific force in the bodyframe, {circumflex over (b)}_(accB) ^(B) is the estimated accelerometerbias, Ĉ_(N) ^(B)ĝ^(N) represents the estimated gravity vector in thebody frame, {circumflex over (Φ)}_(j) is the estimated roll angle,σ_({circumflex over (θ)}) is the estimated pitch angle,σ_({circumflex over (Φ)}) is the standard deviation of the estimatedroll angle, σ_({circumflex over (θ)}) is the standard deviation of theestimated pitch angle, wherein the standard deviations of the roll angleand pitch angle estimates are provided by the adaptive statisticalfilter, and for Δσ_({circumflex over (Φ)})=Nσ_({circumflex over (Φ)})and Δσ_({circumflex over (θ)})=Nσ_({circumflex over (θ)}), the Nrepresents a scale factor which governs the size of an interval in orderto perform more conservative (larger N) or less conservative (smaller N)attitude error scanning; compute a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGM process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; compute a power spectral density ofthe vehicle acceleration GM process driving noise as:

$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process; construct aprocess noise covariance matrix by use of the power spectral density;and send results of the process noise covariance matrix construction tothe adaptive statistical filter.

Example 9 includes the AHRS of any of Examples 1-8, wherein the IMUcomprises a three-axis accelerometer and a three-axis gyroscope.

Example 10 includes a method for mitigating vehicle acceleration effectsin an attitude and heading reference system, the method comprising:obtaining inertial data from an inertial measurement unit (IMU) thatincludes at least one accelerometer and at least one gyroscope;computing a heading based on heading-related measurements; determiningmodels of sensors and other sources of errors; identifying vehicleacceleration and computing a vehicle acceleration upper boundary basedon measured variables; and performing a computation of an adaptivestatistical filter configured to estimate attitude and heading whileadaptively mitigating the impact of vehicle acceleration effects on theestimate by use of the vehicle acceleration upper boundary.

Example 11 includes the method of Example 10, wherein the adaptivestatistical filter comprises an algorithm providing a probabilisticdescription of estimated quantities.

Example 12 includes the method of Example 10, wherein the adaptivestatistical filter comprises an extended Kalman filter.

Example 13 includes the method of any of Examples 10-12, wherein theupper boundary computation is performed by a first vehicle accelerationadaptation algorithm comprising: providing a vehicle acceleration modelbased on measured variables and estimated variables; computing a vehicleacceleration upper boundary (α) based on a synthetic acceleration({tilde over (â)}^(B)) as:α=∥

^(B) ∥≈∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N) −{circumflex over (b)}_(accB) ^(B)∥where {tilde over (f)}^(B) is a measured specific force signal outputfrom the accelerometer, Ĉ_(N) ^(B)ĝ^(N) is the estimated gravity vectorsignal, and {circumflex over (b)}_(accB) ^(B) is an estimatedaccelerometer bias signal; computing a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGauss-Markov process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing a power spectral density ofthe vehicle acceleration GM process driving noise as:

$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.

Example 14 includes the method of any of Examples 10-12, wherein theupper boundary computation is performed by a second vehicle accelerationadaptation algorithm comprising: providing a vehicle acceleration modelbased on measured variables and estimated variables; computing a vehicleacceleration upper boundary (α) based on a synthetic acceleration({tilde over (â)}^(B)) as:

$\alpha = {\max\limits_{i}\{ {{{{\overset{\sim}{f}}^{B} + {\{ {{\hat{C}}_{N}^{B}(i)} \}{\hat{g}}^{N}} - {\hat{b}}_{accB}^{B}}};{{{\hat{C}}_{N}^{B}(i)} = {f( {{\hat{\phi}}_{j},{\hat{\theta}}_{k}} )}}} \}}$ϕ̂_(j) ∈ [−Δ σ_(ϕ̂) + ϕ̂; ϕ̂ + Δσ_(ϕ̂)]; Δσ_(ϕ̂) = N σ_(ϕ̂)θ̂_(k) ∈ [−Δσ_(θ̂) + θ̂; θ̂ + Δσ_(θ̂)]; Δσ_(θ̂) = N σ_(θ̂)where {tilde over (f)}^(B) is a measured specific force in the bodyframe, {circumflex over (b)}_(accB) ^(B) is the estimated accelerometerbias, Ĉ_(N) ^(B)ĝ^(N) represents the estimated gravity vector in thebody frame, {circumflex over (Φ)}_(j) is the estimated roll angle,{circumflex over (θ)}_(k) is the estimated pitch angle,σ_({circumflex over (Φ)}) is the standard deviation of the estimatedroll angle, σ_({circumflex over (θ)}) is the standard deviation of theestimated pitch angle, wherein the standard deviations of the roll angleand pitch angle estimates are provided by the adaptive statisticalfilter, and for Δσ_({circumflex over (Φ)})=Nσ_({circumflex over (Φ)})and Δσ_({circumflex over (θ)})=Nσ_({circumflex over (θ)}), the Nrepresents a scale factor which governs the size of an interval in orderto perform more conservative (larger N) or less conservative (smaller N)attitude error scanning; computing a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGM process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing a power spectral density ofthe vehicle acceleration GM process driving noise as:

$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.

Example 15 includes the method of any of Examples 10-14, wherein the IMUcomprises a three-axis accelerometer and a three-axis gyroscope.

Example 16 includes a computer program product comprising anon-transitory computer readable medium having instructions storedthereon executable by a processer to perform a method for mitigatingvehicle acceleration effects in an attitude and heading reference system(AHRS), the method comprising: obtaining inertial data from an inertialmeasurement unit that includes at least one accelerometer and at leastone gyroscope; computing a heading based on heading-relatedmeasurements; determining models of sensors and other sources of errors;identifying vehicle acceleration and computing a vehicle accelerationupper boundary based on measured variables; and performing a computationof an adaptive statistical filter configured to estimate the attitudeand heading while adaptively mitigating the impact of vehicleacceleration effects on the estimate by use of the vehicle accelerationupper boundary.

Example 17 includes the computer program product of Example 16, whereinthe upper boundary computation is performed by a first algorithm thatgenerates the vehicle acceleration mitigation data, the first algorithmcomprising: providing a vehicle acceleration model based on measuredvariables and estimated variables; computing a vehicle accelerationupper boundary (α) based on a synthetic acceleration ({tilde over(â)}^(B)) as:α=∥

^(B) ∥≈∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N) −{circumflex over (b)}_(accB) ^(B)∥where {tilde over (f)}^(B) is a measured specific force signal outputfrom the accelerometer, Ĉ_(N) ^(B)ĝ^(N) is an estimated gravity vectorsignal, and {circumflex over (b)}_(accB) ^(B) is an estimatedaccelerometer bias signal; computing a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGM process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing a power spectral density ofthe vehicle acceleration GM process driving noise as:

$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.

Example 18 includes the computer program product of Example 16, whereinthe upper boundary computation is performed by a second algorithm thatgenerates the vehicle acceleration mitigation data, the second algorithmcomprising: providing a vehicle acceleration model based on measuredvariables and estimated variables; computing a vehicle accelerationupper boundary (α) based on a synthetic acceleration (

^(B)) as:

$\alpha = {\max\limits_{i}\{ {{{{\overset{\sim}{f}}^{B} + {\{ {{\hat{C}}_{N}^{B}(i)} \}{\hat{g}}^{N}} - {\hat{b}}_{accB}^{B}}};{{{\hat{C}}_{N}^{B}(i)} = {f( {{\hat{\phi}}_{j},{\hat{\theta}}_{k}} )}}} \}}$ϕ̂_(j) ∈ [−Δ σ_(ϕ̂) + ϕ̂; ϕ̂ + Δσ_(ϕ̂)]; Δσ_(ϕ̂) = N σ_(ϕ̂)θ̂_(k) ∈ [−Δσ_(θ̂) + θ̂; θ̂ + Δσ_(θ̂)]; Δσ_(θ̂) = N σ_(θ̂)

where {tilde over (f)}^(B) is a measured specific force in the bodyframe, {circumflex over (b)}_(accB) ^(B) is the estimated accelerometerbias, Ĉ_(N) ^(B)ĝ^(N) represents the estimated gravity vector in thebody frame, {circumflex over (Φ)}_(j) is the estimated roll angle,{circumflex over (θ)}_(k) is the estimated pitch angle,σ_({circumflex over (Φ)}) is the standard deviation of the estimatedroll angle, and σ_({circumflex over (θ)}) is the standard deviation ofthe estimated pitch angle, wherein the standard deviations of the rollangle and pitch angle estimates are provided by the adaptive statisticalfilter, and for Δσ_({circumflex over (Φ)})=Nσ_({circumflex over (Φ)})and Δσ_({circumflex over (θ)})=Nσ_({circumflex over (θ)}), the Nrepresents a scale factor which governs the size of an interval in orderto perform more conservative (larger N) or less conservative (smaller N)attitude error scanning; computing a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGM process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing a power spectral density ofthe vehicle acceleration GM process driving noise as:

$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.

The present invention may be embodied in other specific forms withoutdeparting from its essential characteristics. The described embodimentsare to be considered in all respects only as illustrative and notrestrictive. The scope of the invention is therefore indicated by theappended claims rather than by the foregoing description. All changesthat come within the meaning and range of equivalency of the claims areto be embraced within their scope.

What is claimed is:
 1. An attitude and heading reference system (AHRS)for a vehicle, the AHRS comprising: an inertial measurement unit (IMU)onboard the vehicle and configured to generate inertial measurementscomprising angular rate and acceleration measurements of the vehicle; aheading source onboard the vehicle and configured to generate headingmeasurements of the vehicle; and a processor including an adaptivestatistical filter onboard the vehicle and in operative communicationwith the IMU and the heading source, wherein the processor utilizes theadaptive statistical filter to mitigate the impact of vehicleacceleration effects on attitude and heading during operation of thevehicle, wherein the processor is configured to: estimate an attitudeand heading of the vehicle; model and estimate IMU errors and headingsource errors; and model, adapt, and estimate vehicle acceleration usingan adaptation algorithm configured to: detect acceleration of thevehicle; compute a synthetic acceleration; compute a vehicleacceleration upper boundary; and transform the vehicle accelerationupper boundary onto parameters for the modeled vehicle acceleration; andmitigate the impact of vehicle acceleration effects on the attitude andheading estimate during operation of the vehicle using the vehicleacceleration upper boundary.
 2. The AHRS of claim 1, wherein theadaptive statistical filter comprises an algorithm providing aprobabilistic description of estimated quantities.
 3. The AHRS of claim2, wherein the adaptive statistical filter comprises an extended Kalmanfilter.
 4. The AHRS of claim 2, further comprising an upper boundarycomputation module that includes a first vehicle acceleration adaptationalgorithm configured to: provide a vehicle acceleration model based onmeasured variables and estimated variables; compute a vehicleacceleration upper boundary (α) based on a synthetic acceleration (

^(B)) as:α=∥

^(B) ∥≈∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N) −{circumflex over (b)}_(accB) ^(B)∥ where {tilde over (f)}^(B) is a measured specific forcesignal output from the accelerometer, Ĉ_(N) ^(B)ĝ^(N) is the estimatedgravity vector signal, and {circumflex over (b)}_(accB) ^(B) is theestimated accelerometer bias signal; compute a steady-state standarddeviation (σ_(steadyState,GMacceleration)) of a vehicle accelerationfirst-order Gauss-Markov (GM) process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; compute a power spectral density ofthe vehicle acceleration GM process driving noise as:$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process; construct aprocess noise covariance matrix by use of the power spectral density;and send results of the process noise covariance matrix construction tothe adaptive statistical filter.
 5. The AHRS of claim 2, furthercomprising an upper boundary computation module that includes a secondvehicle acceleration adaptation algorithm configured to: provide avehicle acceleration model based on measured variables and estimatedvariables; compute a vehicle acceleration upper boundary (α) based on asynthetic acceleration ({tilde over (â)}^(B)) as:$\alpha = {\max\limits_{i}\{ {{{{\overset{\sim}{f}}^{B} + {\{ {{\hat{C}}_{N}^{B}(i)} \}{\hat{g}}^{N}} - {\hat{b}}_{accB}^{B}}};{{{\hat{C}}_{N}^{B}(i)} = {f( {{\hat{\phi}}_{j},{\hat{\theta}}_{k}} )}}} \}}$ϕ̂_(j) ∈ [−Δ σ_(ϕ̂) + ϕ̂; ϕ̂ + Δσ_(ϕ̂)]; Δσ_(ϕ̂) = N σ_(ϕ̂)θ̂_(k) ∈ [−Δσ_(θ̂) + θ̂; θ̂ + Δσ_(θ̂)]; Δσ_(θ̂) = N σ_(θ̂) where {tilde over(f)}^(B) is a measured specific force in the body frame, {circumflexover (b)}_(accB) ^(B) is the estimated accelerometer bias, Ĉ_(N)^(B)ĝ^(N) represents the estimated gravity vector in the body frame,{circumflex over (Φ)}_(j) is the estimated roll angle, {circumflex over(θ)}_(k) is the estimated pitch angle, σ_({circumflex over (Φ)}) is thestandard deviation of the estimated roll angle,σ_({circumflex over (θ)}) is the standard deviation of the estimatedpitch angle, wherein the standard deviations of the roll angle and pitchangle estimates are provided by the adaptive statistical filter, and forΔσ_({circumflex over (Φ)})=Nσ_({circumflex over (Φ)}) andΔσ_({circumflex over (θ)})=Nσ_({circumflex over (θ)}), the N representsa scale factor which governs the size of an interval in order to performmore conservative or less conservative attitude error scanning; computea steady-state standard deviation (σ_(steadyState,GMacceleration)) of avehicle acceleration first-order Gauss-Markov (GM) process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; compute a power spectral density ofthe vehicle acceleration GM process driving noise as:$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process; construct aprocess noise covariance matrix by use of the power spectral density;and send results of the process noise covariance matrix construction tothe adaptive statistical filter.
 6. The AHRS of claim 1, wherein the IMUcomprises a three-axis accelerometer and a three-axis gyroscope.
 7. TheAHRS of claim 1, wherein the vehicle is an aircraft.
 8. The AHRS ofclaim 1, wherein the heading source comprises a magnetometer.
 9. Amethod for mitigating vehicle acceleration effects in an attitude andheading reference system (AHRS), the method comprising: obtaininginertial data from an inertial measurement unit (IMU) onboard a vehicle,the inertial data comprising angular rate and acceleration measurementsof the vehicle; obtaining heading measurements of the vehicle from aheading source onboard the vehicle; and performing computationsutilizing an adaptive statistical filter in a processor onboard thevehicle, the processor in operative communication with the IMU and theheading source, the computations comprising: estimating an attitude andheading of the vehicle; modeling and estimating IMU errors and headingsource errors; modeling and estimating vehicle acceleration using anadaptation algorithm comprising: detecting acceleration of the vehicle;computing a synthetic acceleration; computing a vehicle accelerationupper boundary; and transforming the vehicle acceleration upper boundaryonto parameters for the modeled vehicle acceleration; and mitigating theimpact of vehicle acceleration effects on the attitude and headingestimate during operation of the vehicle using the vehicle accelerationupper boundary.
 10. The method of claim 9, wherein the adaptivestatistical filter comprises an algorithm providing a probabilisticdescription of estimated quantities.
 11. The method of claim 10, whereinthe upper boundary computation is performed by a first vehicleacceleration adaptation algorithm comprising: providing a vehicleacceleration model based on measured variables and estimated variables;computing a vehicle acceleration upper boundary (α) based on a syntheticacceleration (

^(B)) as:α=∥

^(B) ∥≈∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N) −{circumflex over (b)}_(accB) ^(B)∥ where {tilde over (f)}^(B) is a measured specific forcesignal output from the accelerometer, Ĉ_(N) ^(B)ĝ^(N) is an estimatedgravity vector signal, and {circumflex over (b)}_(accB) ^(B) is anestimated accelerometer bias signal; computing a steady-state standarddeviation (σ_(steadyState,GMacceleration)) of a vehicle accelerationfirst-order Gauss-Markov (GM) process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing a power spectral density ofthe vehicle acceleration GM process driving noise as:$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.
 12. The methodof claim 10, wherein the upper boundary computation is performed by asecond vehicle acceleration adaptation algorithm comprising: providing avehicle acceleration model based on measured variables and estimatedvariables; computing a vehicle acceleration upper boundary (α) based ona synthetic acceleration (

^(B)) as:$\alpha = {\max\limits_{i}\{ {{{{\overset{\sim}{f}}^{B} + {\{ {{\hat{C}}_{N}^{B}(i)} \}{\hat{g}}^{N}} - {\hat{b}}_{accB}^{B}}};{{{\hat{C}}_{N}^{B}(i)} = {f( {{\hat{\phi}}_{j},{\hat{\theta}}_{k}} )}}} \}}$ϕ̂_(j) ∈ [−Δ σ_(ϕ̂) + ϕ̂; ϕ̂ + Δσ_(ϕ̂)]; Δσ_(ϕ̂) = N σ_(ϕ̂)θ̂_(k) ∈ [−Δσ_(θ̂) + θ̂; θ̂ + Δσ_(θ̂)]; Δσ_(θ̂) = N σ_(θ̂) where {tilde over(f)}^(B) is a measured specific force in the body frame, {circumflexover (b)}_(accB) ^(B) is the estimated accelerometer bias, Ĉ_(N)^(B)ĝ^(N) represents the estimated gravity vector in the body frame,{circumflex over (Φ)}_(j) is the estimated roll angle, {circumflex over(θ)}_(k) is the estimated pitch angle, σ_({circumflex over (Φ)}) is thestandard deviation of the estimated roll angle,σ_({circumflex over (θ)}) is the standard deviation of the estimatedpitch angle, wherein the standard deviations of the roll angle and pitchangle estimates are provided by the adaptive statistical filter, and forΔσ_({circumflex over (Φ)})=Nσ_({circumflex over (Φ)}) andΔσ_({circumflex over (θ)})=Nσ_({circumflex over (θ)}), the N representsa scale factor which governs the size of an interval in order to performmore conservative or less conservative attitude error scanning;computing a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGauss-Markov (GM) process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing compute a power spectraldensity of the vehicle acceleration GM process driving noise as:$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.
 13. The methodof claim 9, wherein the adaptive statistical filter comprises anextended Kalman filter.
 14. The method of claim 9, wherein the IMUcomprises a three-axis accelerometer and a three-axis gyroscope.
 15. Themethod of claim 9, wherein the vehicle is an aircraft.
 16. The method ofclaim 9, wherein the heading source comprises a magnetometer.
 17. Acomputer program product comprising: a non-transitory computer readablemedium having instructions stored thereon executable by a processer toperform a method for mitigating vehicle acceleration effects in anattitude and heading reference system (AHRS), the method comprising:obtaining inertial data from an inertial measurement unit (IMU) onboarda vehicle, the inertial data comprising angular rate and accelerationmeasurements of the vehicle; obtaining heading measurements of thevehicle from a heading source onboard the vehicle; and performingcomputations utilizing an adaptive statistical filter in a processoronboard the vehicle, the processor in operative communication with theIMU and the heading source, the computations comprising: estimating anattitude and heading of the vehicle; modeling and estimating IMU errorsand heading source errors; modeling and estimating vehicle accelerationusing an adaptation algorithm comprising: detecting acceleration of thevehicle; computing a synthetic acceleration; computing a vehicleacceleration upper boundary; and transforming the vehicle accelerationupper boundary onto parameters for the modeled vehicle acceleration; andmitigating the impact of vehicle acceleration effects on the attitudeand heading estimate during operation of the vehicle using the vehicleacceleration upper boundary.
 18. The computer program product of claim17, wherein the upper boundary computation is performed by a firstalgorithm that generates the vehicle acceleration mitigation data, thefirst algorithm comprising: providing a vehicle acceleration model basedon measured variables and estimated variables; computing a vehicleacceleration upper boundary (α) based on a synthetic acceleration (

^(B)) as:α=∥

^(B) ∥≈∥{tilde over (f)} ^(B) +Ĉ _(N) ^(B) ĝ ^(N) −{circumflex over (b)}_(accB) ^(B)∥ where {tilde over (f)}^(B) is a measured specific forcesignal output from the accelerometer, Ĉ_(N) ^(B)ĝ^(N) is an estimatedgravity vector signal, and {circumflex over (b)}_(accB) ^(B) is anestimated accelerometer bias signal; computing a steady-state standarddeviation (σ_(steadyState,GMacceleration))) of a vehicle accelerationfirst-order Gauss-Markov (GM) process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing a power spectral density ofthe vehicle acceleration GM process driving noise as:$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.
 19. The computerprogram product of claim 17, wherein the upper boundary computation isperformed by a second algorithm that generates the vehicle accelerationmitigation data, the second algorithm comprising: providing a vehicleacceleration model based on measured variables and estimated variables;computing a vehicle acceleration upper boundary (α) based on a syntheticacceleration (

^(B)) as:$\alpha = {\max\limits_{i}\{ {{{{\overset{\sim}{f}}^{B} + {\{ {{\hat{C}}_{N}^{B}(i)} \}{\hat{g}}^{N}} - {\hat{b}}_{accB}^{B}}};{{{\hat{C}}_{N}^{B}(i)} = {f( {{\hat{\phi}}_{j},{\hat{\theta}}_{k}} )}}} \}}$ϕ̂_(j) ∈ [−Δ σ_(ϕ̂) + ϕ̂; ϕ̂ + Δσ_(ϕ̂)]; Δσ_(ϕ̂) = N σ_(ϕ̂)θ̂_(k) ∈ [−Δσ_(θ̂) + θ̂; θ̂ + Δσ_(θ̂)]; Δσ_(θ̂) = N σ_(θ̂) where {tilde over(f)}^(B) is a measured specific force in the body frame, {circumflexover (b)}_(accB) ^(B) is the estimated accelerometer bias, Ĉ_(N)^(B)ĝ^(N) represents the estimated gravity vector in the body frame,{circumflex over (Φ)}_(j) is the estimated roll angle, {circumflex over(θ)}_(k) is the estimated pitch angle, σ_({circumflex over (Φ)}) is thestandard deviation of the estimated roll angle,σ_({circumflex over (θ)}) is the standard deviation of the estimatedpitch angle, wherein the standard deviations of the roll angle and pitchangle estimates are provided by the adaptive statistical filter, and forΔσ_({circumflex over (Φ)})=Nσ_({circumflex over (Φ)}) andΔσ_({circumflex over (θ)})=Nσ_({circumflex over (θ)}), the N representsa scale factor which governs the size of an interval in order to performmore conservative or less conservative attitude error scanning;computing a steady-state standard deviation(σ_(steadyState,GMacceleration)) of a vehicle acceleration first-orderGauss-Markov (GM) process as:σ_(steadyState,GMacceleration) ²=(ησ_(steadyState,accelerometer))²+α²where η is an overbounding factor; computing a power spectral density ofthe vehicle acceleration GM process driving noise as:$\overset{2}{\sum\limits_{GMacceleration}}{= {2\;\frac{\sigma_{{steadyState},{GMacceleration}}^{2}}{\tau_{acceleration}}}}$where τ_(acceleration) is a time constant of the GM process;constructing a process noise covariance matrix by use of the powerspectral density; and sending results of the process noise covariancematrix construction to the adaptive statistical filter.